home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / ParagraphView$Row.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  3.7 KB  |  157 lines

  1. package javax.swing.text;
  2.  
  3. import java.awt.Rectangle;
  4. import java.awt.Shape;
  5. import javax.swing.SizeRequirements;
  6.  
  7. class ParagraphView$Row extends BoxView {
  8.    // $FF: synthetic field
  9.    private final ParagraphView this$0;
  10.  
  11.    ParagraphView$Row(ParagraphView var1, Element var2) {
  12.       super(var2, 0);
  13.       this.this$0 = var1;
  14.    }
  15.  
  16.    protected SizeRequirements calculateMinorAxisRequirements(int var1, SizeRequirements var2) {
  17.       return ((BoxView)this).baselineRequirements(var1, var2);
  18.    }
  19.  
  20.    public float getAlignment(int var1) {
  21.       if (var1 == 0) {
  22.          switch (ParagraphView.access$0(this.this$0)) {
  23.             case 0:
  24.                return 0.0F;
  25.             case 1:
  26.             case 3:
  27.                return 0.5F;
  28.             case 2:
  29.                return 1.0F;
  30.          }
  31.       }
  32.  
  33.       return super.getAlignment(var1);
  34.    }
  35.  
  36.    public AttributeSet getAttributes() {
  37.       return this.this$0.getAttributes();
  38.    }
  39.  
  40.    public int getEndOffset() {
  41.       int var1 = 0;
  42.       int var2 = ((CompositeView)this).getViewCount();
  43.  
  44.       for(int var3 = 0; var3 < var2; ++var3) {
  45.          View var4 = ((CompositeView)this).getView(var3);
  46.          var1 = Math.max(var1, var4.getEndOffset());
  47.       }
  48.  
  49.       return var1;
  50.    }
  51.  
  52.    public int getStartOffset() {
  53.       int var1 = Integer.MAX_VALUE;
  54.       int var2 = ((CompositeView)this).getViewCount();
  55.  
  56.       for(int var3 = 0; var3 < var2; ++var3) {
  57.          View var4 = ((CompositeView)this).getView(var3);
  58.          var1 = Math.min(var1, var4.getStartOffset());
  59.       }
  60.  
  61.       return var1;
  62.    }
  63.  
  64.    protected View getViewAtPosition(int var1, Rectangle var2) {
  65.       int var3 = ((CompositeView)this).getViewCount();
  66.  
  67.       for(int var4 = 0; var4 < var3; ++var4) {
  68.          View var5 = ((CompositeView)this).getView(var4);
  69.          int var6 = var5.getStartOffset();
  70.          int var7 = var5.getEndOffset();
  71.          if (var1 >= var6 && var1 < var7) {
  72.             if (var2 != null) {
  73.                ((BoxView)this).childAllocation(var4, var2);
  74.             }
  75.  
  76.             return var5;
  77.          }
  78.       }
  79.  
  80.       if (var1 == this.getEndOffset()) {
  81.          View var8 = ((CompositeView)this).getView(var3 - 1);
  82.          if (var2 != null) {
  83.             ((BoxView)this).childAllocation(var3 - 1, var2);
  84.          }
  85.  
  86.          return var8;
  87.       } else {
  88.          return null;
  89.       }
  90.    }
  91.  
  92.    protected int getViewIndexAtPosition(int var1) {
  93.       if (var1 >= this.getStartOffset() && var1 < this.getEndOffset()) {
  94.          for(int var2 = ((CompositeView)this).getViewCount() - 1; var2 >= 0; --var2) {
  95.             View var3 = ((CompositeView)this).getView(var2);
  96.             if (var1 >= var3.getStartOffset() && var1 < var3.getEndOffset()) {
  97.                return var2;
  98.             }
  99.          }
  100.  
  101.          return -1;
  102.       } else {
  103.          return -1;
  104.       }
  105.    }
  106.  
  107.    protected void layout(int var1, int var2) {
  108.       Document var3 = ((View)this).getDocument();
  109.       if (var3.getProperty("i18n").equals(Boolean.TRUE)) {
  110.          int var4 = ((CompositeView)this).getViewCount();
  111.          if (var4 > 1) {
  112.             AbstractDocument var5 = (AbstractDocument)((View)this).getDocument();
  113.             Element var6 = ((AbstractDocument)((View)this).getElement().getDocument()).getBidiRootElement();
  114.             byte[] var7 = new byte[var4];
  115.             View[] var8 = new View[var4];
  116.  
  117.             for(int var9 = 0; var9 < var4; ++var9) {
  118.                View var10 = ((CompositeView)this).getView(var9);
  119.                int var11 = var6.getElementIndex(var10.getStartOffset());
  120.                Element var12 = var6.getElement(var11);
  121.                var7[var9] = (byte)StyleConstants.getBidiLevel(var12.getAttributes());
  122.                var8[var9] = var10;
  123.             }
  124.  
  125.             Bidi.reorderVisually(var7, var8);
  126.             ((BoxView)this).replace(0, var4, var8);
  127.          }
  128.       }
  129.  
  130.       super.layout(var1, var2);
  131.    }
  132.  
  133.    protected void layoutMinorAxis(int var1, int var2, int[] var3, int[] var4) {
  134.       ((BoxView)this).baselineLayout(var1, var2, var3, var4);
  135.    }
  136.  
  137.    protected void loadChildren(ViewFactory var1) {
  138.    }
  139.  
  140.    public Shape modelToView(int var1, Shape var2, Position.Bias var3) throws BadLocationException {
  141.       Rectangle var4 = var2.getBounds();
  142.       View var5 = this.getViewAtPosition(var1, var4);
  143.       if (var5 != null && !var5.getElement().isLeaf()) {
  144.          return super.modelToView(var1, var2, var3);
  145.       } else {
  146.          var4 = var2.getBounds();
  147.          int var6 = var4.height;
  148.          int var7 = var4.y;
  149.          Shape var8 = super.modelToView(var1, var2, var3);
  150.          var4 = var8.getBounds();
  151.          var4.height = var6;
  152.          var4.y = var7;
  153.          return var4;
  154.       }
  155.    }
  156. }
  157.